package com.ruoyi.wms.service;

import com.ruoyi.wms.domain.EndLifeVehicleBase;
import com.ruoyi.wms.dto.EndLifeVehicleDto;
import com.ruoyi.wms.dto.UpdateEndLifeVehicleStatusDTO;
import com.ruoyi.wms.vo.EndLifeVehicleVo;

import java.util.List;


/**
 * 报废车辆信息Service接口
 *
 * @author libancang
 * @date 2025-09-12
 */
public interface IEndLifeVehicleService {
    /**
     * 查询报废车辆信息
     *
     * @param id 报废车辆信息主键
     * @return 报废车辆信息
     */
    public EndLifeVehicleBase selectEndLifeVehicleById(String id);

    /**
     * 查询报废车辆信息列表
     *
     * @param endLifeVehicle 报废车辆信息
     * @return 报废车辆信息集合
     */
    public List<EndLifeVehicleBase> selectEndLifeVehicleList(EndLifeVehicleDto endLifeVehicle);

    /**
     * 新增报废车辆信息
     *
     * @param endLifeVehicle 报废车辆信息
     * @return 结果
     */
    public int insertEndLifeVehicle(EndLifeVehicleBase endLifeVehicle);

    /**
     * 修改报废车辆信息
     *
     * @param endLifeVehicle 报废车辆信息
     * @return 结果
     */
    public int updateEndLifeVehicle(EndLifeVehicleBase endLifeVehicle);

    /**
     * 批量删除报废车辆信息
     *
     * @param ids 需要删除的报废车辆信息主键集合
     * @return 结果
     */
    public int deleteEndLifeVehicleByIds(String[] ids);

    /**
     * 删除报废车辆信息信息
     *
     * @param id 报废车辆信息主键
     * @return 结果
     */
    public int deleteEndLifeVehicleById(String id);

    List<EndLifeVehicleVo> queryProcurementLedgerList(EndLifeVehicleDto endLifeVehicle);

    int updateEndLifeVehicleStatus(UpdateEndLifeVehicleStatusDTO dto);
}
